1. Technical Field
This invention relates in general to network communications and, more particularly, to a method and apparatus for discarding packets.
2. Description of the Related Art
In a digital information delivery network, between a source device and a destination device, packets of data may be lost for a variety of reasons. Some packets are randomly lost due to uncontrollable errors—for example, errors caused by noise on a transmission line, synchronization issues, etc. Some packets are lost due to congestion, i.e., it is not possible for a network element to transmit all received packets in a timely manner. Current discard mechanisms for IP QoS (quality of service) algorithms implement random selection schemes to determine which packets to discard without regard to the relative effect on the eventual output.
For some data transfer protocols, missing packets cause the destination device to request a retransmission of the missing information. This is not very feasible, however, in a network that has multicasting of real-time streams such as audio or video. Normally, there will not be enough time available for requesting and receiving the retransmitted packets, unless buffers at the destination device are very large.
When an expected packet in a packet stream is not received at the destination device, the destination device waits for a certain amount of time before declaring a packet as lost. Once a packet is declared as lost, some decoders may request retransmission, other decoders may correct the problem to the extent possible by error concealment techniques. Error concealment techniques will in most cases result in degradation of output quality and are incapable of correcting some errors; further, the degree of the output error will be different depending upon the type of data in the lost packet, some of which will be more difficult to conceal than others. Thus, if packets must be discarded, some types of packets will be better candidates for discarding than others.
Accordingly, there is a need for a method and apparatus for identifying and discarding packets to minimize output errors.